package com.lemon.boot.common.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * @author 李猛
 * @datetime 2024/7/22 10:30
 * @description 不需要认证的请求，加上这个注解就不需要认证了
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface NotAuthorization {
    /**
     * 是否开启请求次数验证
     *
     * @return
     */
    boolean enable() default false;

    /**
     * 请求次数，超过这个次数将拦截，默认是5次
     *
     * @return
     */
    int times() default 5;

    /**
     * 拦截的时间长度，默认30
     *
     * @return
     */
    int timeout() default 30;

    /**
     * 拦截时间单位，默认是分钟
     *
     * @return
     */
    TimeUnit unit() default TimeUnit.MINUTES;
}
